home *** CD-ROM | disk | FTP | other *** search
/ NeXTSTEP 3.3 (Developer)…68k, x86, SPARC, PA-RISC] / NeXTSTEP 3.3 Dev Intel.iso / usr / sybase / include4_6 / syblogin.h < prev    next >
Text File  |  1993-04-22  |  7KB  |  191 lines

  1. /*
  2.  *    syblogin.h 77.1 11/11/91
  3.  *
  4.  *    Sybase DB-LIBRARY Version 4.0
  5.  *    Confidential Property of Sybase, Inc.
  6.  *    (c) Copyright Sybase, Inc. 1988, 1990
  7.  *    All rights reserved
  8.  *
  9.  *
  10.  * Use, duplication, or disclosure by the Government
  11.  * is subject to restrictions as set forth in subparagraph (c) (1) (ii)
  12.  * of the Rights in Technical Data and Computer Software clause
  13.  * at DFARS 52.227-7013. Sybase, Inc. 6475 Christie Avenue, Emeryville,
  14.  * CA 94608.
  15.  *
  16.  */
  17.  
  18. #define DBPROGNLEN    10
  19. #define DBPKTLEN        6
  20.  
  21. /*
  22. ** Used in the Security login record.
  23. */
  24. typedef struct seclab
  25. {
  26.         short   slhier;
  27.         BYTE    slcomp[8];
  28.         short   slstatus;
  29. } SECLAB;
  30.  
  31. typedef struct loginrec
  32. {
  33.     BYTE    lhostname[DBMAXNAME];    /* name of host or generic */
  34.     BYTE    lhostnlen;        /* length of lhostname */
  35.     BYTE    lusername[DBMAXNAME];    /* name of user */
  36.     BYTE    lusernlen;        /* length of lusername */
  37.     BYTE    lpw[DBMAXNAME];        /* password (plaintext) */
  38.     BYTE    lpwnlen;        /* length of lpw */
  39.     BYTE    lhostproc[DBMAXNAME];    /* host process identification*/
  40.     BYTE    lhplen;            /* length of host process id */
  41.     BYTE    lint2;            /* type of int2 on this host */
  42.     BYTE    lint4;            /* type of int4 on this host */
  43.     BYTE    lchar;            /* type of char */
  44.     BYTE    lflt;            /* type of float */
  45.     BYTE    ldate;            /* type of datetime */
  46.     BYTE    lusedb;            /* notify on exec of use db cmd */
  47.     BYTE    ldmpld;            /* disallow use of dump/load and
  48.                     ** bulk insert */
  49.     BYTE    linterface;        /* SQL interface type */
  50.     BYTE    ltype;            /* type of network connection */
  51.     BYTE    spare[7];        /* spare fields */
  52.     BYTE    lappname[DBMAXNAME];    /* application name */
  53.     BYTE    lappnlen;        /* length of appl name */
  54.     BYTE    lservname[DBMAXNAME];    /* name of server */
  55.     BYTE    lservnlen;        /* length of lservname */
  56.     BYTE    lrempw[0xff];        /* passwords for remote servers */
  57.     BYTE    lrempwlen;        /* length of lrempw */
  58.     BYTE    ltds[4];        /* tds version */
  59.     BYTE    lprogname[DBPROGNLEN];    /* client program name */
  60.     BYTE    lprognlen;        /* length of client program name */
  61.     BYTE    lprogvers[4];        /* client program version */
  62.     BYTE    lnoshort;        /* auto convert of short datatypes */
  63.     BYTE    lflt4;            /* type of flt4 on this host */
  64.     BYTE    ldate4;            /* type of flt4 on this host */
  65.     BYTE    llanguage[MAXNAME];    /* initial language */
  66.     BYTE    llanglen;        /* length of language */
  67.     BYTE    lsetlang;        /* notify on language change */
  68.     BYTE    slhier[2];        /* security label hierarchy */
  69.     BYTE    slcomp[8];        /* security compartments */
  70.     BYTE    slspare[2];        /* security label spare field */
  71.     BYTE    lrole;            /* security login role (sa=1,user=0) */
  72.         BYTE    lcharset[DBMAXNAME];    /* character set name */
  73.         BYTE    lcharsetlen;            /* length of lcharset */
  74.         BYTE    lsetcharset;            /* notify on character set change */
  75.         BYTE    lpacketsize[DBPKTLEN];  /* length of TDS packet desired */
  76.         BYTE    lpacketsizelen;         /* length of lpacketsize */
  77.     BYTE    ldummy[4];        /* pad to longword */
  78. } LOGINREC;
  79.  
  80. /* security loginrec structure */
  81. typedef struct sloginrec
  82. {
  83.         BYTE    lhostname[MAXNAME];     /* name of host or generic */
  84.         BYTE    lhostnlen;              /* length of lhostname */
  85.         BYTE    lusername[MAXNAME];     /* name of user */
  86.         BYTE    lusernlen;              /* length of lusername */
  87.         BYTE    lpw[MAXNAME];           /* password (plaintext) */
  88.         BYTE    lpwnlen;                /* length of lpw */
  89.         BYTE    lhostproc[MAXNAME];     /* host process identification*/
  90.         BYTE    lhplen;                 /* length of host process id */
  91.         BYTE    lint2;                  /* type of int2 on this host */
  92.         BYTE    lint4;                  /* type of int4 on this host */
  93.         BYTE    lchar;                  /* type of char */
  94.         BYTE    lflt;                   /* type of float */
  95.         BYTE    ldate;                  /* type of datetime */
  96.         BYTE    lusedb;                 /* notify on exec of use db cmd */
  97.         BYTE    ldmpld;                 /* disallow use of dump/load and
  98.                                         ** bulk insert */
  99.         BYTE    linterface;             /* SQL interface type */
  100.         BYTE    ltype;                  /* type of network connection */
  101.         BYTE    spare[7];               /* spare fields */
  102.         BYTE    lappname[MAXNAME];      /* application name */
  103.         BYTE    lappnlen;               /* length of lappname */
  104.         BYTE    spare1;                 /* structure alignment */
  105.         SECLAB  lseclab;                /* login security level */
  106.         BYTE    lrole;                  /* login role(sa = 1,user = 0 */
  107.         BYTE    spare2[3];              /* pad to long word */
  108. } SLOGINREC;
  109.  
  110.  
  111. /* possible storage types */
  112. # define INT4_LSB_HI    0    /* lsb is hi byte (eg 68000) */
  113. # define INT4_LSB_LO    1    /* lsb is low byte (eg VAX & 80x86) */
  114. # define INT2_LSB_HI    2    /* lsb is hi byte (eg 68000) */
  115. # define INT2_LSB_LO    3    /* lsb is low byte (eg VAX & 80x86) */
  116. # define FLT_IEEE_HI    4    /* IEEE 754 float, lsb in high byte (eg Sun) */
  117. # define FLT_IEEE_LO    10    /* IEEE 754 float, lsb in low byte (eg 80x86) */
  118. # define FLT_ND5000     11    /* ND5000   float, lsb in hi byte  */
  119. # define FLT4_IEEE_HI    12    /* IEEE 4-byte floating point -lsb is hi byte */
  120. # define FLT4_IEEE_LO    13    /* IEEE 4-byte floating point -lsb is lo byte */
  121. # define FLT4_VAXF    14    /* VAX 'F' floating point format */
  122. # define FLT4_ND50004   15    /* ND5000 4-byte float format */
  123. # define FLT_VAXD    5    /* VAX 'D' floating point format */
  124. # define CHAR_ASCII    6    /* ASCII character set */
  125. # define CHAR_EBCDIC    7    /* EBCDIC character set */
  126. # define TWO_I4_LSB_HI    8    /* lsb is hi byte (eg 68000) */
  127. # define TWO_I4_LSB_LO    9    /* lsb is low byte (eg VAX & 80x86) */
  128. # define TWO_I2_LSB_HI    16    /* lsb is hi byte */
  129. # define TWO_I2_LSB_LO    17    /* lsb is lo byte */
  130.  
  131. /* values for Sun DB-Library 
  132. **    lint2 = INT2_LSB_HI
  133. **    lint4 = INT4_LSB_HI
  134. **    lchar = CHAR_ASCII
  135. **    lflt = FLT_IEEE_HI
  136. **    ldate = TWO_I4_LSB_HI 
  137. */
  138.  
  139. /* values for VAX DB-Library 
  140. **    lint2 = INT2_LSB_LO
  141. **    lint4 = INT4_LSB_LO
  142. **    lchar = CHAR_ASCII
  143. **    lflt = FLT_VAXD
  144. **    ldate = TWO_I4_LSB_LO 
  145. */
  146.  
  147. /* values for I86 (Intel 80x86) DB-Library 
  148. **    lint2 = INT2_LSB_LO
  149. **    lint4 = INT4_LSB_LO
  150. **    lchar = CHAR_ASCII
  151. **    lflt = FLT_IEEE_LO
  152. **    ldate = TWO_I4_LSB_LO 
  153. */
  154.  
  155. /* values for ND5000 DB-Library
  156. **    lint2 = INT2_LSB_HI
  157. **    lint4 = INT4_LSB_HI
  158. **    lchar = CHAR_ASCII
  159. **    lflt = FLT_ND5000
  160. **    ldate = TWO_I4_LSB_HI 
  161. */
  162.  
  163. /* Values for linterface field. */
  164. #define    LDEFSQL        0        /* server's default SQL will be sent */
  165. #define    LXSQL        1        /* TRANSACT-SQL will be sent */
  166. #define    LSQL        2        /* ANSI SQL, version 1 */
  167. #define    LSQL2_1        3        /* ANSI SQL, version 2, level 1 */
  168. #define    LSQL2_2        4        /* ANSI SQL, version 2, level 2 */
  169.  
  170. /* Values for ltype field. */
  171. #define    LSERVER        0x1        /* not a user connecting directly */
  172. #define    LREMUSER    0x2        /* user login through another server */
  173.  
  174. /* Values for ltdsversion - 4.6.0.0 */
  175. #define    TDS_4_6_V1    (BYTE) 4
  176. #define    TDS_4_6_V2    (BYTE) 6
  177. #define    TDS_4_6_V3    (BYTE) 0
  178. #define    TDS_4_6_V4    (BYTE) 0
  179.  
  180. /* Values for ltdsversion - 4.2.0.0 */
  181. #define    TDS_4_2_V1    (BYTE) 4
  182. #define    TDS_4_2_V2    (BYTE) 2
  183. #define    TDS_4_2_V3    (BYTE) 0
  184. #define    TDS_4_2_V4    (BYTE) 0
  185.  
  186. /* Values for ltdsversion - 4.0.0.0 */
  187. #define    TDS_4_0_V1    (BYTE) 4
  188. #define    TDS_4_0_V2    (BYTE) 0
  189. #define    TDS_4_0_V3    (BYTE) 0
  190. #define    TDS_4_0_V4    (BYTE) 0
  191.